<?php session_start();
$file = $_SERVER['DOCUMENT_ROOT'] . "/conf/config.php";

switch($_POST['check'])
{
	case 'fileinfo':
		usleep(500000);
		if (is_writable($file)) {
			include_once $file;
			if (isset($root_key)) echo json_encode(array('result' => 'writable', 'root_key' => $root_key, 'daum_key' => $daum_key));
			else echo json_encode(array('result' => 'writable', 'root_key' => '', 'daum_key' => $daum_key));
		}
		else 
			echo json_encode(array('result' => 'unwritable'));
		break;
	case 'set_siteinfo':
		usleep(500000);
		if (!$_POST['daum_key'])
			echo json_encode(array('result' => 'error', 'reason' => '설정 파일 오류 : 관리자에게 문의하세요.'));
		elseif (strlen(trim($_POST['rootname'])) < 4 || strlen(trim($_POST['rootname'])) > 16)
			echo json_encode(array('result' => 'error', 'reason' => '관리자ID는 영문/숫자 4~16 자리 입니다.'));
		elseif (strlen(trim($_POST['rootpass'])) < 4 || strlen(trim($_POST['rootpass'])) > 16)
			echo json_encode(array('result' => 'error', 'reason' => '관리자 비밀번호는 영문/숫자 4~16 자리 입니다.'));
		elseif (strlen(trim($_POST['username1'])) < 4 || strlen(trim($_POST['username1'])) > 16)
			echo json_encode(array('result' => 'error', 'reason' => '사용자ID는 영문/숫자 4~16 자리 입니다.'));
		elseif (strlen(trim($_POST['userpass1'])) < 4 || strlen(trim($_POST['userpass1'])) > 16)
			echo json_encode(array('result' => 'error', 'reason' => '사용자 비밀번호는 영문/숫자 4~16 자리 입니다.'));
		elseif (strlen(trim($_POST['dbuser'])) < 1)
			echo json_encode(array('result' => 'error', 'reason' => '데이터베이스 관리자ID를 입력하세요.'));
		elseif (strlen(trim($_POST['dbpass'])) < 1)
			echo json_encode(array('result' => 'error', 'reason' => '데이터베이스 비밀번호를 입력하세요.'));
		elseif (strlen(trim($_POST['dbname'])) < 1)
			echo json_encode(array('result' => 'error', 'reason' => '데이터베이스 이름을 입력하세요.'));
		elseif ($_POST['rootpass'] != $_POST['rootconf'])
			echo json_encode(array('result' => 'error', 'reason' => '관리자 비밀번호가 일치하지 않습니다.'));
		elseif ($_POST['userpass1'] != $_POST['userconf1'])
			echo json_encode(array('result' => 'error', 'reason' => '사용자 비밀번호가 일치하지 않습니다.'));
		else {
			include_once $_SERVER['DOCUMENT_ROOT'] . "/conf/script.php";
			$dbconn = @mysql_connect($_POST['dbhost'], $_POST['dbuser'], $_POST['dbpass']) or die();
			
			if (!$dbconn) echo json_encode(array('result' => 'error', 'reason' => '데이터베이스 접속 오류.'));
			
			@mysql_select_db($_POST['dbname'], $dbconn);
			
			if (!@mysql_query($drop_tables, $dbconn))
				echo json_encode(array('result' => 'error', 'reason' => '사용자 테이블 초기화 오류.'));
			
			if (!@mysql_query($create_member_table, $dbconn))
				echo json_encode(array('result' => 'error', 'reason' => '사용자 테이블 생성 오류.'));
			
			if (!@mysql_query($create_data_table, $dbconn))
				echo json_encode(array('result' => 'success', 'reason' => '데이터 테이블 생성 완료.'));
			
			$member_query  = "insert into qr_members(username,userpass,CDATE,LDATE,rootuser) values('";
			$member_query .= trim($_POST['rootname']) . "','" . md5(trim($_POST['rootpass'])) . "','";
			$member_query .= date("Y-m-d") . "', '0000-00-00', 'Y');";
			
			if (!@mysql_query($member_query, $dbconn))
				echo json_encode(array('result' => 'error', 'reason' => '사용자 데이터 입력 오류.'));
			
			$member_query = "insert into qr_members(username,userpass,CDATE,LDATE,rootuser) values('";
			$member_query .= trim($_POST['username1']) . "','" . md5(trim($_POST['userpass1'])) . "','";
			$member_query .= date("Y-m-d") . "', '0000-00-00', 'N');";
			
			if (!@mysql_query($member_query, $dbconn))
				echo json_encode(array('result' => 'error', 'reason' => '사용자 데이터 입력 오류.'));
			
			$root_string = "\$root_key = '" . md5(trim($_POST['rootpass'])) . "';\n";
			$daum_string = "\$daum_key = '" . $_POST['daum_key'] . "';\n";
			$code_key_string = "\$code_key = '" . trim($_POST['code_key']) . "';\n";
			$code_loc_string = "\$code_loc = '" . trim($_POST['code_loc']) . "';\n";
			$line_png_string = "\$line_png = '" . trim($_POST['line_png']) . "';\n";
			$size_png_string = "\$size_png = '" . trim($_POST['size_png']) . "';\n";
			$dbhost_string = "\$dbhost = '" . trim($_POST['dbhost']) . "';\n";
			$dbuser_string = "\$dbuser = '" . trim($_POST['dbuser']) . "';\n";
			$dbpass_string = "\$dbpass = '" . trim($_POST['dbpass']) . "';\n";
			$dbname_string = "\$dbname = '" . trim($_POST['dbname']) . "';\n";
			
			$fp = fopen($file, 'w');
			fwrite($fp, "<?php\n");
			fwrite($fp, $daum_string);
			fwrite($fp, $root_string);
			fwrite($fp, $code_key_string);
			fwrite($fp, $code_loc_string);
			fwrite($fp, $line_png_string);
			fwrite($fp, $size_png_string);
			fwrite($fp, $dbhost_string);
			fwrite($fp, $dbuser_string);
			fwrite($fp, $dbpass_string);
			fwrite($fp, $dbname_string);
			fwrite($fp, "?>");
			fclose($fp);
			
			echo json_encode(array('result' => 'success', 'reason' => '서버 설정 완료'));
		}
		break;
	case 'userauth':
		include_once $_SERVER['DOCUMENT_ROOT'] . "/conf/config.php";
		$dbconn = @mysql_connect($dbhost, $dbuser, $dbpass);
		
		if (!$dbconn) {
			echo json_encode(array('result' => 'error', 'reason' => '데이터베이스 접속 실패'));
			break;
		}
		
		@mysql_select_db($dbname, $dbconn);
	
		$query = "select * from qr_members where username = '" . $_POST['username'] . "'";
		$result = @mysql_query($query, $dbconn);
		
		if (@mysql_num_rows($result) == 1)
		{
			$row = @mysql_fetch_array($result);
			
			if ($row['userpass'] != md5($_POST['userpass']))
				echo json_encode(array('result' => 'error', 'reason' => '비밀번호가 일치하지 않습니다.'));
			else {
				$_SESSION['username'] = trim($_POST['username']);
				$_SESSION['rootuser'] = $row['rootuser'];
				$upQRY = "update qr_members set LDATE = '" . date("Y-m-d") . "' where username = '" . $_POST['username'] . "'";
				@mysql_query($upQRY, $dbconn );
				echo json_encode(array('result' => 'success', 'reason' => '환영합니다.'));
			}
		}
		else
			echo json_encode(array('result' => 'error', 'reason' => '존재하지 않는 회원이름 입니다.'));
		
		@mysql_close($dbconn);
		break;
	case 'rootauth':
		include_once $_SERVER['DOCUMENT_ROOT'] . "/conf/config.php";
		$dbconn = @mysql_connect($dbhost, $dbuser, $dbpass);
		
		if (!$dbconn) {
			echo json_encode(array('result' => 'error', 'reason' => '데이터베이스 접속 실패'));
			break;
		}
		
		@mysql_select_db($dbname, $dbconn);
	
		$query = "select * from qr_members where username = '" . $_POST['adminname'] . "'";
		$result = @mysql_query($query, $dbconn);
		
		if (@mysql_num_rows($result) == 1)
		{
			$row = @mysql_fetch_array($result);
			
			if ($row['userpass'] != md5($_POST['adminpass']))
				echo json_encode(array('result' => 'error', 'reason' => '비밀번호가 일치하지 않습니다.'));
			else {
				$_SESSION['username'] = trim($_POST['adminname']);
				$_SESSION['rootuser'] = $row['rootuser'];
				$upQRY = "update qr_members set LDATE = '" . date("Y-m-d") . "' where username = '" . $_POST['adminname'] . "'";
				@mysql_query($upQRY, $dbconn );
				echo json_encode(array('result' => 'success', 'reason' => '환영합니다.'));
			}
		}
		else
			echo json_encode(array('result' => 'error', 'reason' => '관리자 아이디를 정확히 입력해 주세요.'));
		
		@mysql_close($dbconn);
		break;
}
?>